export interface User {
  _id: string;
  email: string;
  username: string;
  gender?: string;
  description?: string;
  birthdayAt?: Date;
  createdAt: Date;
}

export interface ApiResponse<T = unknown> {
  status: boolean;
  message?: string;
  data?: T;
  errors?: Record<string, unknown>;
}

export interface AuthResponse {
  token: string;
  user: User;
}

export interface LoginRequest {
  email: string;
  password: string;
}

export interface RegisterRequest {
  email: string;
  password: string;
  username: string;
  gender?: string;
  description?: string;
  birthdayAt?: Date;
} 